---
title: clsHearingLocationManager
summary: API reference for clsHearingLocationManager.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
---

# clsHearingLocationManager

`clsHearingLocationManager` maintains the hearing-location reference table used by scheduling screens: it inserts new locations, deletes locations that are not currently in use, and saves edits. It backs its code-list lookups with an 8-hour `HttpContext.Current.Cache` entry to avoid repeated Oracle round trips for a largely static reference table. It inherits `LegalManagerBase` (this library) → `ClaimAppManager` (`SAIF.Application.Claim`).

## Purpose
- Maintain the hearing-location reference table: insert, delete, and save location records.
- Enforce that a hearing location cannot be deleted while still in use, delegating the in-use check to the business layer ([Business rules](../../business-rules.md)).
- Cache hearing-location code-list lookups in-process for 8 hours to reduce Oracle round trips for scheduling/maintenance screens.

## Context
- Namespace: `SAIF.Application.Claim.Legal`
- Assembly/package: `SAIF.Application.Claim.Legal.dll` (embedded library, referenced by the `Legal` web front end)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `New(inDatabase, inSecurityPrincipal)` | `Public Sub New(inDatabase As String, inSecurityPrincipal As clsSecurityPrincipal)` | Constructs the manager for the given database context and authenticated principal, calling into `LegalManagerBase.New`. |
| `HearingLocationCol` | `Public ReadOnly Property HearingLocationCol As clsHearingLocationCollection`* | Exposes the hearing-location collection backing the maintenance grid. |
| `InsertLocation()` | `Public Sub InsertLocation()`* | Adds a new hearing-location record to `HearingLocationCol` for subsequent editing and save. |
| `DeleteLocation()` | `Public Sub DeleteLocation()` | Deletes the selected hearing location, blocking the operation with `"Error: this location is in use and cannot be deleted."` when `clsHearingLocation.CanDeleteLocation` reports the location is still in use ([Business rules](../../business-rules.md)). |
| `Save()` | `Public Overrides Function Save() As Boolean`* | Persists pending hearing-location inserts/edits via the inherited `clsBusinessBase.Save()` dispatch path. |

## Behavioral notes
- `DeleteLocation()` delegates the in-use determination to `clsHearingLocation.CanDeleteLocation` in the referenced `SAIF.Business.Claim.Legal` library rather than checking usage locally ([Business rules](../../business-rules.md)).
- Code-list lookups for this manager are cached in `HttpContext.Current.Cache` for 8 hours, trading immediate consistency for reduced Oracle load on a largely static reference table*.

## Constraints and usage notes
- Because lookups are cached for 8 hours, a hearing-location change made elsewhere may not be immediately visible to callers of the cached lookup until the cache entry expires*.

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `SAIF.Application.Claim.Legal\clsHearingLocationManager.vb`
